<?php
// 连接数据库

$host = 'localhost:3306';
$user = 'root';
$pwd = 'root';
$dbname = 'kaola';

$con = mysqli_connect($host, $user, $pwd, $dbname);

// 测试数据库是否链接成功
if (!$con) {

  die('数据库连接失败');   //die这个方法结束整个php语句
}


// 数据返回给前端
$result = [];


// 合并了  搜索  排序  分页

$num = $_GET['num'];   // 显示几条数据
$page = $_GET['page'];   // 页数
//   需要前端携带数据  -- 关键字
$kw = $_GET['kw'];
//   需要前端携带数据  --  哪个字段进行排序   升序或者降序(1和2)
$sortName = $_GET['sortName'];
$sortType = $_GET['sortType'];


if ($num && $page) {
  // 处理升序和降序
  if ($sortType == 1) {
    $type = 'asc';
  } else {
    $type = 'desc';
  }
  // 需要给前端总的数量

  // total 属于自己定义的字段
  $sql = "SELECT COUNT(*) total FROM goods_list WHERE goods_title LIKE '%$kw%'";
  // 执行
  $run = mysqli_query($con, $sql);    // 结果集
  // 转对象
  $obj = mysqli_fetch_array($run);
  // {total:20}
  // 定义变量 --- 存储的就是总数量
  $total = $obj['total'];

  // 把对应的页数的数据传给前端
  //      limit 起始位置，数量
  $start = ($page - 1) * $num;
  $sql = "SELECT * FROM goods_list WHERE goods_title LIKE '%$kw%' ORDER BY $sortName $type LIMIT $start,$num";

  // 执行sql语句
  $run = mysqli_query($con, $sql);

  $list = [];

  while ($obj = mysqli_fetch_array($run)) {
    array_push($list, $obj);
  }

  if ($list) {
    $result['status'] = true;
    $result['msg'] = '数据请求成功';
    $result['total'] = $total;
    $result['data'] = $list;
  } else {
    $result['status'] = false;
    $result['msg'] = '数据库错误';
  }
} else {
  $result['status'] = false;
  $result['msg'] = '前端数据有误';
}

echo (json_encode($result));
